diff --git a/internal/service/qldb/ledger.go b/internal/service/qldb/ledger.go index bc341ba6cc5..2c9d1d61703 100644 --- a/internal/service/qldb/ledger.go +++ b/internal/service/qldb/ledger.go @@ -18,9 +18,11 @@ import ( tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/internal/verify" + "github.com/hashicorp/terraform-provider-aws/names" ) -// @SDKResource("aws_qldb_ledger") +// @SDKResource("aws_qldb_ledger", name="Ledger") +// @Tags(identifierAttribute="arn") func ResourceLedger() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceLedgerCreate, @@ -71,8 +73,8 @@ func ResourceLedger() *schema.Resource { Required: true, ValidateFunc: validation.StringInSlice(qldb.PermissionsMode_Values(), false), }, - "tags": tftags.TagsSchema(), - "tags_all": tftags.TagsSchemaComputed(), + names.AttrTags: tftags.TagsSchema(), + names.AttrTagsAll: tftags.TagsSchemaComputed(), }, CustomizeDiff: verify.SetTagsDiff, @@ -81,15 +83,13 @@ func ResourceLedger() *schema.Resource { func resourceLedgerCreate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).QLDBConn() - defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig - tags := defaultTagsConfig.MergeTags(tftags.New(ctx, d.Get("tags").(map[string]interface{}))) name := create.Name(d.Get("name").(string), "tf") input := &qldb.CreateLedgerInput{ DeletionProtection: aws.Bool(d.Get("deletion_protection").(bool)), Name: aws.String(name), PermissionsMode: aws.String(d.Get("permissions_mode").(string)), - Tags: Tags(tags.IgnoreAWS()), + Tags: GetTagsIn(ctx), } if v, ok := d.GetOk("kms_key"); ok { @@ -114,8 +114,6 @@ func resourceLedgerCreate(ctx context.Context, d *schema.ResourceData, meta inte func resourceLedgerRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).QLDBConn() - defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig - ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig ledger, err := FindLedgerByName(ctx, conn, d.Id()) @@ -139,23 +137,6 @@ func resourceLedgerRead(ctx context.Context, d *schema.ResourceData, meta interf d.Set("name", ledger.Name) d.Set("permissions_mode", ledger.PermissionsMode) - tags, err := ListTags(ctx, conn, d.Get("arn").(string)) - - if err != nil { - return diag.Errorf("listing tags for QLDB Ledger (%s): %s", d.Id(), err) - } - - tags = tags.IgnoreAWS().IgnoreConfig(ignoreTagsConfig) - - //lintignore:AWSR002 - if err := d.Set("tags", tags.RemoveDefaultConfig(defaultTagsConfig).Map()); err != nil { - return diag.Errorf("setting tags: %s", err) - } - - if err := d.Set("tags_all", tags.Map()); err != nil { - return diag.Errorf("setting tags_all: %s", err) - } - return nil } @@ -190,14 +171,6 @@ func resourceLedgerUpdate(ctx context.Context, d *schema.ResourceData, meta inte } } - if d.HasChange("tags_all") { - o, n := d.GetChange("tags_all") - - if err := UpdateTags(ctx, conn, d.Get("arn").(string), o, n); err != nil { - return diag.Errorf("updating tags: %s", err) - } - } - return resourceLedgerRead(ctx, d, meta) } diff --git a/internal/service/qldb/service_package_gen.go b/internal/service/qldb/service_package_gen.go index 43de46f3356..15821d94c84 100644 --- a/internal/service/qldb/service_package_gen.go +++ b/internal/service/qldb/service_package_gen.go @@ -33,10 +33,18 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*types.ServicePacka { Factory: ResourceLedger, TypeName: "aws_qldb_ledger", + Name: "Ledger", + Tags: &types.ServicePackageResourceTags{ + IdentifierAttribute: "arn", + }, }, { Factory: ResourceStream, TypeName: "aws_qldb_stream", + Name: "Stream", + Tags: &types.ServicePackageResourceTags{ + IdentifierAttribute: "arn", + }, }, } } diff --git a/internal/service/qldb/stream.go b/internal/service/qldb/stream.go index 7331bb72270..0e5ec803fec 100644 --- a/internal/service/qldb/stream.go +++ b/internal/service/qldb/stream.go @@ -17,9 +17,11 @@ import ( tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/internal/verify" + "github.com/hashicorp/terraform-provider-aws/names" ) -// @SDKResource("aws_qldb_stream") +// @SDKResource("aws_qldb_stream", name="Stream") +// @Tags(identifierAttribute="arn") func ResourceStream() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceStreamCreate, @@ -88,8 +90,8 @@ func ResourceStream() *schema.Resource { validation.StringLenBetween(1, 32), ), }, - "tags": tftags.TagsSchema(), - "tags_all": tftags.TagsSchemaComputed(), + names.AttrTags: tftags.TagsSchema(), + names.AttrTagsAll: tftags.TagsSchemaComputed(), }, CustomizeDiff: verify.SetTagsDiff, @@ -98,8 +100,6 @@ func ResourceStream() *schema.Resource { func resourceStreamCreate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).QLDBConn() - defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig - tags := defaultTagsConfig.MergeTags(tftags.New(ctx, d.Get("tags").(map[string]interface{}))) ledgerName := d.Get("ledger_name").(string) name := d.Get("stream_name").(string) @@ -107,7 +107,7 @@ func resourceStreamCreate(ctx context.Context, d *schema.ResourceData, meta inte LedgerName: aws.String(ledgerName), RoleArn: aws.String(d.Get("role_arn").(string)), StreamName: aws.String(name), - Tags: Tags(tags.IgnoreAWS()), + Tags: GetTagsIn(ctx), } if v, ok := d.GetOk("exclusive_end_time"); ok { @@ -142,8 +142,6 @@ func resourceStreamCreate(ctx context.Context, d *schema.ResourceData, meta inte func resourceStreamRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).QLDBConn() - defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig - ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig ledgerName := d.Get("ledger_name").(string) stream, err := FindStream(ctx, conn, ledgerName, d.Id()) @@ -180,37 +178,11 @@ func resourceStreamRead(ctx context.Context, d *schema.ResourceData, meta interf d.Set("role_arn", stream.RoleArn) d.Set("stream_name", stream.StreamName) - tags, err := ListTags(ctx, conn, d.Get("arn").(string)) - - if err != nil { - return diag.Errorf("listing tags for QLDB Stream (%s): %s", d.Id(), err) - } - - tags = tags.IgnoreAWS().IgnoreConfig(ignoreTagsConfig) - - //lintignore:AWSR002 - if err := d.Set("tags", tags.RemoveDefaultConfig(defaultTagsConfig).Map()); err != nil { - return diag.Errorf("setting tags: %s", err) - } - - if err := d.Set("tags_all", tags.Map()); err != nil { - return diag.Errorf("setting tags_all: %s", err) - } - return nil } func resourceStreamUpdate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { - conn := meta.(*conns.AWSClient).QLDBConn() - - if d.HasChange("tags") { - o, n := d.GetChange("tags") - - if err := UpdateTags(ctx, conn, d.Get("arn").(string), o, n); err != nil { - return diag.Errorf("updating tags: %s", err) - } - } - + // Tags only. return resourceStreamRead(ctx, d, meta) } diff --git a/internal/service/quicksight/data_set.go b/internal/service/quicksight/data_set.go index 61cb3d59009..48207bafda1 100644 --- a/internal/service/quicksight/data_set.go +++ b/internal/service/quicksight/data_set.go @@ -18,9 +18,11 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/flex" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/verify" + "github.com/hashicorp/terraform-provider-aws/names" ) -// @SDKResource("aws_quicksight_data_set") +// @SDKResource("aws_quicksight_data_set", name="Data Set") +// @Tags(identifierAttribute="arn") func ResourceDataSet() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceDataSetCreate, @@ -277,8 +279,8 @@ func ResourceDataSet() *schema.Resource { }, }, }, - "tags": tftags.TagsSchema(), - "tags_all": tftags.TagsSchemaComputed(), + names.AttrTags: tftags.TagsSchema(), + names.AttrTagsAll: tftags.TagsSchemaComputed(), }, CustomizeDiff: verify.SetTagsDiff, } @@ -752,7 +754,6 @@ func physicalTableMapSchema() *schema.Resource { func resourceDataSetCreate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).QuickSightConn() - defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig awsAccountId := meta.(*conns.AWSClient).AccountID if v, ok := d.GetOk("aws_account_id"); ok { @@ -768,11 +769,7 @@ func resourceDataSetCreate(ctx context.Context, d *schema.ResourceData, meta int ImportMode: aws.String(d.Get("import_mode").(string)), PhysicalTableMap: expandDataSetPhysicalTableMap(d.Get("physical_table_map").(*schema.Set)), Name: aws.String(d.Get("name").(string)), - } - - tags := defaultTagsConfig.MergeTags(tftags.New(ctx, d.Get("tags").(map[string]interface{}))) - if len(tags) > 0 { - input.Tags = Tags(tags.IgnoreAWS()) + Tags: GetTagsIn(ctx), } if v, ok := d.GetOk("column_groups"); ok && len(v.([]interface{})) > 0 && v.([]interface{})[0] != nil { @@ -817,8 +814,6 @@ func resourceDataSetCreate(ctx context.Context, d *schema.ResourceData, meta int func resourceDataSetRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).QuickSightConn() - defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig - ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig awsAccountId, dataSetId, err := ParseDataSetID(d.Id()) if err != nil { @@ -886,23 +881,6 @@ func resourceDataSetRead(ctx context.Context, d *schema.ResourceData, meta inter return diag.Errorf("error setting row_level_permission_tag_configuration: %s", err) } - tags, err := ListTags(ctx, conn, d.Get("arn").(string)) - - if err != nil { - return diag.Errorf("error listing tags for QuickSight Data Set (%s): %s", d.Id(), err) - } - - tags = tags.IgnoreAWS().IgnoreConfig(ignoreTagsConfig) - - //lintignore:AWSR002 - if err := d.Set("tags", tags.RemoveDefaultConfig(defaultTagsConfig).Map()); err != nil { - return diag.Errorf("error setting tags: %s", err) - } - - if err := d.Set("tags_all", tags.Map()); err != nil { - return diag.Errorf("error setting tags_all: %s", err) - } - permsResp, err := conn.DescribeDataSetPermissionsWithContext(ctx, &quicksight.DescribeDataSetPermissionsInput{ AwsAccountId: aws.String(awsAccountId), DataSetId: aws.String(dataSetId), @@ -1001,14 +979,6 @@ func resourceDataSetUpdate(ctx context.Context, d *schema.ResourceData, meta int } } - if d.HasChange("tags_all") { - o, n := d.GetChange("tags_all") - - if err := UpdateTags(ctx, conn, d.Get("arn").(string), o, n); err != nil { - return diag.Errorf("error updating QuickSight Data Source (%s) tags: %s", d.Id(), err) - } - } - return resourceDataSetRead(ctx, d, meta) } diff --git a/internal/service/quicksight/data_source.go b/internal/service/quicksight/data_source.go index 996817ca06d..9b93355414c 100644 --- a/internal/service/quicksight/data_source.go +++ b/internal/service/quicksight/data_source.go @@ -15,9 +15,11 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/conns" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/verify" + "github.com/hashicorp/terraform-provider-aws/names" ) -// @SDKResource("aws_quicksight_data_source") +// @SDKResource("aws_quicksight_data_source", name="Data Source") +// @Tags(identifierAttribute="arn") func ResourceDataSource() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceDataSourceCreate, @@ -572,9 +574,8 @@ func ResourceDataSource() *schema.Resource { }, }, - "tags": tftags.TagsSchema(), - - "tags_all": tftags.TagsSchemaComputed(), + names.AttrTags: tftags.TagsSchema(), + names.AttrTagsAll: tftags.TagsSchemaComputed(), "type": { Type: schema.TypeString, @@ -604,8 +605,6 @@ func ResourceDataSource() *schema.Resource { func resourceDataSourceCreate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).QuickSightConn() - defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig - tags := defaultTagsConfig.MergeTags(tftags.New(ctx, d.Get("tags").(map[string]interface{}))) awsAccountId := meta.(*conns.AWSClient).AccountID id := d.Get("data_source_id").(string) @@ -619,13 +618,10 @@ func resourceDataSourceCreate(ctx context.Context, d *schema.ResourceData, meta DataSourceId: aws.String(id), DataSourceParameters: expandDataSourceParameters(d.Get("parameters").([]interface{})), Name: aws.String(d.Get("name").(string)), + Tags: GetTagsIn(ctx), Type: aws.String(d.Get("type").(string)), } - if len(tags) > 0 { - params.Tags = Tags(tags.IgnoreAWS()) - } - if v, ok := d.GetOk("credentials"); ok && len(v.([]interface{})) > 0 && v.([]interface{})[0] != nil { params.Credentials = expandDataSourceCredentials(v.([]interface{})) } @@ -658,8 +654,6 @@ func resourceDataSourceCreate(ctx context.Context, d *schema.ResourceData, meta func resourceDataSourceRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).QuickSightConn() - defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig - ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig awsAccountId, dataSourceId, err := ParseDataSourceID(d.Id()) if err != nil { @@ -702,23 +696,6 @@ func resourceDataSourceRead(ctx context.Context, d *schema.ResourceData, meta in return diag.Errorf("error setting ssl_properties: %s", err) } - tags, err := ListTags(ctx, conn, d.Get("arn").(string)) - - if err != nil { - return diag.Errorf("error listing tags for QuickSight Data Source (%s): %s", d.Id(), err) - } - - tags = tags.IgnoreAWS().IgnoreConfig(ignoreTagsConfig) - - //lintignore:AWSR002 - if err := d.Set("tags", tags.RemoveDefaultConfig(defaultTagsConfig).Map()); err != nil { - return diag.Errorf("error setting tags: %s", err) - } - - if err := d.Set("tags_all", tags.Map()); err != nil { - return diag.Errorf("error setting tags_all: %s", err) - } - d.Set("type", dataSource.Type) if err := d.Set("vpc_connection_properties", flattenVPCConnectionProperties(dataSource.VpcConnectionProperties)); err != nil { @@ -815,14 +792,6 @@ func resourceDataSourceUpdate(ctx context.Context, d *schema.ResourceData, meta } } - if d.HasChange("tags_all") { - o, n := d.GetChange("tags_all") - - if err := UpdateTags(ctx, conn, d.Get("arn").(string), o, n); err != nil { - return diag.Errorf("error updating QuickSight Data Source (%s) tags: %s", d.Id(), err) - } - } - return resourceDataSourceRead(ctx, d, meta) } diff --git a/internal/service/quicksight/folder.go b/internal/service/quicksight/folder.go index cf8d9165561..334013f2bff 100644 --- a/internal/service/quicksight/folder.go +++ b/internal/service/quicksight/folder.go @@ -24,8 +24,8 @@ import ( "github.com/hashicorp/terraform-provider-aws/names" ) -// Function annotations are used for resource registration to the Provider. DO NOT EDIT. -// @SDKResource("aws_quicksight_folder") +// @SDKResource("aws_quicksight_folder", name="Folder") +// @Tags(identifierAttribute="arn") func ResourceFolder() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceFolderCreate, @@ -122,8 +122,8 @@ func ResourceFolder() *schema.Resource { }, }, }, - "tags": tftags.TagsSchema(), - "tags_all": tftags.TagsSchemaComputed(), + names.AttrTags: tftags.TagsSchema(), + names.AttrTagsAll: tftags.TagsSchemaComputed(), }, CustomizeDiff: verify.SetTagsDiff, } @@ -149,6 +149,7 @@ func resourceFolderCreate(ctx context.Context, d *schema.ResourceData, meta inte AwsAccountId: aws.String(awsAccountId), FolderId: aws.String(folderId), Name: aws.String(d.Get("name").(string)), + Tags: GetTagsIn(ctx), } if v, ok := d.GetOk("folder_type"); ok { @@ -163,13 +164,6 @@ func resourceFolderCreate(ctx context.Context, d *schema.ResourceData, meta inte in.Permissions = expandResourcePermissions(v.([]interface{})) } - defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig - tags := defaultTagsConfig.MergeTags(tftags.New(ctx, d.Get("tags").(map[string]interface{}))) - - if len(tags) > 0 { - in.Tags = Tags(tags.IgnoreAWS()) - } - out, err := conn.CreateFolderWithContext(ctx, in) if err != nil { return create.DiagError(names.QuickSight, create.ErrActionCreating, ResNameFolder, d.Get("name").(string), err) @@ -217,23 +211,6 @@ func resourceFolderRead(ctx context.Context, d *schema.ResourceData, meta interf return diag.Errorf("error setting folder_path: %s", err) } - tags, err := ListTags(ctx, conn, aws.StringValue(out.Arn)) - if err != nil { - return create.DiagError(names.QuickSight, create.ErrActionReading, ResNameFolder, d.Id(), err) - } - - defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig - ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig - tags = tags.IgnoreAWS().IgnoreConfig(ignoreTagsConfig) - - if err := d.Set("tags", tags.RemoveDefaultConfig(defaultTagsConfig).Map()); err != nil { - return create.DiagError(names.QuickSight, create.ErrActionSetting, ResNameFolder, d.Id(), err) - } - - if err := d.Set("tags_all", tags.Map()); err != nil { - return create.DiagError(names.QuickSight, create.ErrActionSetting, ResNameFolder, d.Id(), err) - } - permsResp, err := conn.DescribeFolderPermissionsWithContext(ctx, &quicksight.DescribeFolderPermissionsInput{ AwsAccountId: aws.String(awsAccountId), FolderId: aws.String(folderId), @@ -298,14 +275,6 @@ func resourceFolderUpdate(ctx context.Context, d *schema.ResourceData, meta inte } } - if d.HasChange("tags_all") { - o, n := d.GetChange("tags_all") - - if err := UpdateTags(ctx, conn, d.Get("arn").(string), o, n); err != nil { - return diag.Errorf("error updating QuickSight Folder (%s) tags: %s", d.Id(), err) - } - } - return resourceFolderRead(ctx, d, meta) } diff --git a/internal/service/quicksight/service_package_gen.go b/internal/service/quicksight/service_package_gen.go index 1ffe989bb9c..c62dfd70b27 100644 --- a/internal/service/quicksight/service_package_gen.go +++ b/internal/service/quicksight/service_package_gen.go @@ -37,14 +37,26 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*types.ServicePacka { Factory: ResourceDataSet, TypeName: "aws_quicksight_data_set", + Name: "Data Set", + Tags: &types.ServicePackageResourceTags{ + IdentifierAttribute: "arn", + }, }, { Factory: ResourceDataSource, TypeName: "aws_quicksight_data_source", + Name: "Data Source", + Tags: &types.ServicePackageResourceTags{ + IdentifierAttribute: "arn", + }, }, { Factory: ResourceFolder, TypeName: "aws_quicksight_folder", + Name: "Folder", + Tags: &types.ServicePackageResourceTags{ + IdentifierAttribute: "arn", + }, }, { Factory: ResourceGroup,