Skip to content

Commit

Permalink
Merge pull request #13089 from DrFaust92/r/workspaces_directory
Browse files Browse the repository at this point in the history
r/workspaces_directory - add attributes + fix tags
  • Loading branch information
gdavison authored May 5, 2020
2 parents fae50ae + df61fd3 commit 53f2060
Show file tree
Hide file tree
Showing 7 changed files with 198 additions and 76 deletions.
1 change: 1 addition & 0 deletions aws/internal/keyvaluetags/generators/updatetags/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ var serviceNames = []string{
"waf",
"wafregional",
"wafv2",
"workspaces",
}

type TemplateData struct {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,8 @@ func ServiceTagFunction(serviceName string) string {
return "AddTagsToResource"
case "storagegateway":
return "AddTagsToResource"
case "workspaces":
return "CreateTags"
default:
return "TagResource"
}
Expand Down Expand Up @@ -696,6 +698,8 @@ func ServiceTagInputIdentifierField(serviceName string) string {
return "ResourceARN"
case "wafv2":
return "ResourceARN"
case "workspaces":
return "ResourceId"
default:
return "ResourceArn"
}
Expand Down Expand Up @@ -881,6 +885,8 @@ func ServiceUntagFunction(serviceName string) string {
return "RemoveTagsFromResource"
case "storagegateway":
return "RemoveTagsFromResource"
case "workspaces":
return "DeleteTags"
default:
return "UntagResource"
}
Expand Down
37 changes: 37 additions & 0 deletions aws/internal/keyvaluetags/update_tags_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

49 changes: 0 additions & 49 deletions aws/internal/keyvaluetags/workspaces_tags.go

This file was deleted.

60 changes: 56 additions & 4 deletions aws/resource_aws_workspaces_directory.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,44 @@ func resourceAwsWorkspacesDirectory() *schema.Resource {
Computed: true,
Elem: &schema.Schema{Type: schema.TypeString},
},
"workspace_security_group_id": {
Type: schema.TypeString,
Computed: true,
},
"iam_role_id": {
Type: schema.TypeString,
Computed: true,
},
"registration_code": {
Type: schema.TypeString,
Computed: true,
},
"directory_name": {
Type: schema.TypeString,
Computed: true,
},
"directory_type": {
Type: schema.TypeString,
Computed: true,
},
"customer_user_name": {
Type: schema.TypeString,
Computed: true,
},
"alias": {
Type: schema.TypeString,
Computed: true,
},
"ip_group_ids": {
Type: schema.TypeSet,
Elem: &schema.Schema{Type: schema.TypeString},
Computed: true,
},
"dns_ip_addresses": {
Type: schema.TypeSet,
Elem: &schema.Schema{Type: schema.TypeString},
Computed: true,
},
"tags": tagsSchema(),
},
}
Expand All @@ -89,9 +127,7 @@ func resourceAwsWorkspacesDirectoryCreate(d *schema.ResourceData, meta interface
}

if v, ok := d.GetOk("subnet_ids"); ok {
for _, id := range v.(*schema.Set).List() {
input.SubnetIds = append(input.SubnetIds, aws.String(id.(string)))
}
input.SubnetIds = expandStringSet(v.(*schema.Set))
}

log.Printf("[DEBUG] Regestering workspaces directory...\n%#v\n", *input)
Expand Down Expand Up @@ -149,11 +185,27 @@ func resourceAwsWorkspacesDirectoryRead(d *schema.ResourceData, meta interface{}

dir := raw.(*workspaces.WorkspaceDirectory)
d.Set("directory_id", dir.DirectoryId)
d.Set("subnet_ids", dir.SubnetIds)
if err := d.Set("subnet_ids", flattenStringSet(dir.SubnetIds)); err != nil {
return fmt.Errorf("error setting subnet_ids: %s", err)
}
d.Set("workspace_security_group_id", dir.WorkspaceSecurityGroupId)
d.Set("iam_role_id", dir.IamRoleId)
d.Set("registration_code", dir.RegistrationCode)
d.Set("directory_name", dir.DirectoryName)
d.Set("directory_type", dir.DirectoryType)
d.Set("alias", dir.Alias)
if err := d.Set("self_service_permissions", flattenSelfServicePermissions(dir.SelfservicePermissions)); err != nil {
return fmt.Errorf("error setting self_service_permissions: %s", err)
}

if err := d.Set("ip_group_ids", flattenStringSet(dir.IpGroupIds)); err != nil {
return fmt.Errorf("error setting ip_group_ids: %s", err)
}

if err := d.Set("dns_ip_addresses", flattenStringSet(dir.DnsIpAddresses)); err != nil {
return fmt.Errorf("error setting dns_ip_addresses: %s", err)
}

tags, err := keyvaluetags.WorkspacesListTags(conn, d.Id())
if err != nil {
return fmt.Errorf("error listing tags: %s", err)
Expand Down
Loading

0 comments on commit 53f2060

Please sign in to comment.