Skip to content

Commit

Permalink
Add readme resource
Browse files Browse the repository at this point in the history
  • Loading branch information
mwhooker committed Mar 24, 2021
1 parent cc07249 commit 2cb9f9d
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 0 deletions.
53 changes: 53 additions & 0 deletions tfe/data_source_workspace_readme.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package tfe

import (
"fmt"
"io/ioutil"

tfe "github.com/hashicorp/go-tfe"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)

func dataSourceTFEWorkspaceReadme() *schema.Resource {
return &schema.Resource{
Read: dataSourceTFEWorkspaceReadReadme,

Schema: map[string]*schema.Schema{
"workspace_id": {
Type: schema.TypeString,
Required: true,
},

"raw_markdown": {
Type: schema.TypeString,
Computed: true,
},
},
}
}

func dataSourceTFEWorkspaceReadReadme(d *schema.ResourceData, meta interface{}) error {
tfeClient := meta.(*tfe.Client)

// Get the workspace
workspaceID := d.Get("workspace_id").(string)
readme, err := tfeClient.Workspaces.Readme(ctx, workspaceID)
if err != nil {
if err == tfe.ErrResourceNotFound {
return fmt.Errorf("Could not find workspace with ID %s", workspaceID)
}
return fmt.Errorf(
"Error retrieving readme %s: %v", workspaceID, err)
}

rs, err := ioutil.ReadAll(readme)
if err != nil {
return fmt.Errorf("Error reading readme: %s", err)
}

d.Set("raw_markdown", rs)

d.SetId(workspaceID)

return nil
}
8 changes: 8 additions & 0 deletions tfe/data_source_workspace_readme_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package tfe

import (
"testing"
)

func TestAccTFEWorkspaceReadmeDataSource_basic(t *testing.T) {
}
1 change: 1 addition & 0 deletions tfe/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ func Provider() *schema.Provider {
"tfe_team_access": dataSourceTFETeamAccess(),
"tfe_workspace": dataSourceTFEWorkspace(),
"tfe_workspace_ids": dataSourceTFEWorkspaceIDs(),
"tfe_workspace_readme": dataSourceTFEWorkspaceReadme(),
},

ResourcesMap: map[string]*schema.Resource{
Expand Down

0 comments on commit 2cb9f9d

Please sign in to comment.