Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ISO tagging: Further refine error handling #22780

Merged
merged 22 commits into from Jan 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
60535fe
ISO tagging: Further refine error handling
YakDriver Jan 26, 2022
ffd34fb
Add changelog
YakDriver Jan 26, 2022
f40ab4b
ecr/repository: Further refine ISO tag error handling
YakDriver Jan 26, 2022
fc2dafa
ecr/repository: Further refine ISO tag error handling
YakDriver Jan 26, 2022
1666651
Update changelog
YakDriver Jan 26, 2022
357bc25
Remove consts.go
YakDriver Jan 26, 2022
d47f430
ecs/capacity_provider: Further refine for ISO tagging errors
YakDriver Jan 26, 2022
68584f3
ecs/capacity_provider: Further refine for ISO tagging errors
YakDriver Jan 26, 2022
ea29d4d
ecs/cluster: Further refine for ISO tagging errors
YakDriver Jan 26, 2022
2d18667
ecs/service: Further refine for ISO tagging errors
YakDriver Jan 26, 2022
6b817dd
ecs/task_definition: Further refine for ISO tagging errors
YakDriver Jan 26, 2022
852579b
ecs/task_set: Further refine for ISO tagging errors
YakDriver Jan 26, 2022
2410729
iam/user,role: Further refine ISO tag error handling
YakDriver Jan 26, 2022
40bbc8b
Consistent error messages in ECS
YakDriver Jan 26, 2022
b4f6a14
Simplify ID in error messages
YakDriver Jan 26, 2022
65b514c
sns/topic: Further refine ISO tag error handling
YakDriver Jan 27, 2022
7e0def4
sns/topic: Remove unused consts
YakDriver Jan 27, 2022
f6cba60
sqs/queue: Further refine ISO tag error handling
YakDriver Jan 27, 2022
5b79179
iam/role,user: Further refine ISO tag error handling
YakDriver Jan 27, 2022
a770e21
ecs: Further refine ISO tag error handling
YakDriver Jan 27, 2022
a5b7186
cloudwatch: Further refine ISO tag error handling
YakDriver Jan 27, 2022
9784f23
Don't use ID before set
YakDriver Jan 27, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
39 changes: 39 additions & 0 deletions .changelog/22780.txt
@@ -0,0 +1,39 @@
```release-note:bug
data-source/aws_ecr_repository: Further refine tag error handling in ISO partitions
```

```release-note:bug
resource/aws_ecr_repository: Further refine tag error handling in ISO partitions
```

```release-note:bug
resource/aws_ecs_capacity_provider: Further refine tag error handling in ISO partitions
```

```release-note:bug
resource/aws_ecs_cluster: Further refine tag error handling in ISO partitions
```

```release-note:bug
resource/aws_ecs_service: Further refine tag error handling in ISO partitions
```

```release-note:bug
resource/aws_ecs_task_definition: Further refine tag error handling in ISO partitions
```

```release-note:bug
resource/aws_ecs_task_set: Further refine tag error handling in ISO partitions
```

```release-note:bug
resource/aws_sns_topic: Further refine tag error handling in ISO partitions
```

```release-note:bug
resource/aws_sqs_queue: Further refine tag error handling in ISO partitions
```

```release-note:bug
data-source/aws_sqs_queue: Further refine tag error handling in ISO partitions
```
16 changes: 8 additions & 8 deletions internal/service/cloudwatch/composite_alarm.go
Expand Up @@ -103,14 +103,14 @@ func resourceCompositeAlarmCreate(ctx context.Context, d *schema.ResourceData, m

// Some partitions (i.e., ISO) may not support tag-on-create
if input.Tags != nil && verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] CloudWatch Composite Alarm (%s) create failed (%s) with tags. Trying create without tags.", d.Id(), err)
log.Printf("[WARN] failed creating CloudWatch Composite Alarm (%s) with tags: %s. Trying create without tags.", name, err)
input.Tags = nil

_, err = conn.PutCompositeAlarmWithContext(ctx, &input)
}

if err != nil {
return diag.Errorf("error creating CloudWatch Composite Alarm (%s): %s", name, err)
return diag.Errorf("failed creating CloudWatch Composite Alarm (%s): %s", name, err)
}

d.SetId(name)
Expand All @@ -130,12 +130,12 @@ func resourceCompositeAlarmCreate(ctx context.Context, d *schema.ResourceData, m

// If default tags only, log and continue. Otherwise, error.
if v, ok := d.GetOk("tags"); (!ok || len(v.(map[string]interface{})) == 0) && verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] error adding tags after create for CloudWatch Composite Alarm (%s): %s", d.Id(), err)
log.Printf("[WARN] failed adding tags after create for CloudWatch Composite Alarm (%s): %s", d.Id(), err)
return resourceCompositeAlarmRead(ctx, d, meta)
}

if err != nil {
return diag.Errorf("error creating CloudWatch Composite Alarm (%s) tags: %s", d.Id(), err)
return diag.Errorf("failed adding tags after create for CloudWatch Composite Alarm (%s): %s", d.Id(), err)
}
}

Expand Down Expand Up @@ -192,12 +192,12 @@ func resourceCompositeAlarmRead(ctx context.Context, d *schema.ResourceData, met

// Some partitions (i.e., ISO) may not support tagging, giving error
if verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] Unable to list tags for CloudWatch Composite Alarm %s: %s", d.Id(), err)
log.Printf("[WARN] failed listing tags for CloudWatch Composite Alarm (%s): %s", d.Id(), err)
return nil
}

if err != nil {
return diag.Errorf("error listing tags of alarm: %s", err)
return diag.Errorf("failed listing tags for CloudWatch Composite Alarm (%s): %s", d.Id(), err)
}

tags = tags.IgnoreAWS().IgnoreConfig(ignoreTagsConfig)
Expand Down Expand Up @@ -233,12 +233,12 @@ func resourceCompositeAlarmUpdate(ctx context.Context, d *schema.ResourceData, m

// Some partitions (i.e., ISO) may not support tagging, giving error
if verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] Unable to update tags for CloudWatch Composite Alarm %s: %s", arn, err)
log.Printf("[WARN] failed updating tags for CloudWatch Composite Alarm (%s): %s", d.Id(), err)
return resourceCompositeAlarmRead(ctx, d, meta)
}

if err != nil {
return diag.Errorf("error updating CloudWatch Composite Alarm (%s) tags: %s", arn, err)
return diag.Errorf("failed updating tags for CloudWatch Composite Alarm (%s): %s", d.Id(), err)
}
}

Expand Down
14 changes: 7 additions & 7 deletions internal/service/cloudwatch/metric_alarm.go
Expand Up @@ -297,14 +297,14 @@ func resourceMetricAlarmCreate(d *schema.ResourceData, meta interface{}) error {

// Some partitions (i.e., ISO) may not support tag-on-create
if params.Tags != nil && verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] CloudWatch Metric Alarm (%s) create failed (%s) with tags. Trying create without tags.", d.Id(), err)
log.Printf("[WARN] failed creating CloudWatch Metric Alarm (%s) with tags: %s. Trying create without tags.", d.Get("alarm_name").(string), err)
params.Tags = nil

_, err = conn.PutMetricAlarm(&params)
}

if err != nil {
return fmt.Errorf("Creating metric alarm failed: %w", err)
return fmt.Errorf("failed creating CloudWatch Metric Alarm (%s): %w", d.Get("alarm_name").(string), err)
}

d.SetId(d.Get("alarm_name").(string))
Expand All @@ -325,12 +325,12 @@ func resourceMetricAlarmCreate(d *schema.ResourceData, meta interface{}) error {

// If default tags only, log and continue. Otherwise, error.
if v, ok := d.GetOk("tags"); (!ok || len(v.(map[string]interface{})) == 0) && verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] could not add tags after create for CloudWatch Metric Alarm (%s): %s", d.Id(), err)
log.Printf("[WARN] failed adding tags after create for CloudWatch Metric Alarm (%s): %s", d.Id(), err)
return resourceMetricAlarmRead(d, meta)
}

if err != nil {
return fmt.Errorf("creating CloudWatch Metric Alarm (%s) tags: %w", d.Id(), err)
return fmt.Errorf("failed adding tags after create for CloudWatch Metric Alarm (%s): %w", d.Id(), err)
}
}

Expand Down Expand Up @@ -408,7 +408,7 @@ func resourceMetricAlarmRead(d *schema.ResourceData, meta interface{}) error {

// Some partitions (i.e., ISO) may not support tagging, giving error
if verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] Unable to list tags for CloudWatch Metric Alarm %s: %s", d.Id(), err)
log.Printf("[WARN] failed listing tags for CloudWatch Metric Alarm (%s): %s", d.Id(), err)
return nil
}

Expand Down Expand Up @@ -443,12 +443,12 @@ func resourceMetricAlarmUpdate(d *schema.ResourceData, meta interface{}) error {

// Some partitions (i.e., ISO) may not support tagging, giving error
if verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] Unable to update tags for CloudWatch Metric Alarm %s: %s", arn, err)
log.Printf("[WARN] failed updating tags for CloudWatch Metric Alarm (%s): %s", d.Id(), err)
return resourceMetricAlarmRead(d, meta)
}

if err != nil {
return fmt.Errorf("error updating CloudWatch Metric Alarm (%s) tags: %w", arn, err)
return fmt.Errorf("failed updating tags for CloudWatch Metric Alarm (%s): %w", d.Id(), err)
}
}

Expand Down
12 changes: 6 additions & 6 deletions internal/service/cloudwatch/metric_stream.go
Expand Up @@ -150,14 +150,14 @@ func resourceMetricStreamCreate(ctx context.Context, d *schema.ResourceData, met

// Some partitions (i.e., ISO) may not support tag-on-create
if params.Tags != nil && verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] CloudWatch Metric Stream (%s) create failed (%s) with tags. Trying create without tags.", d.Id(), err)
log.Printf("[WARN] failed creating CloudWatch Metric Stream (%s) with tags: %s. Trying create without tags.", name, err)
params.Tags = nil

output, err = conn.PutMetricStreamWithContext(ctx, &params)
}

if err != nil {
return diag.FromErr(fmt.Errorf("putting metric_stream failed: %s", err))
return diag.Errorf("failed creating CloudWatch Metric Stream (%s): %s", name, err)
}

d.SetId(name)
Expand All @@ -169,12 +169,12 @@ func resourceMetricStreamCreate(ctx context.Context, d *schema.ResourceData, met

// If default tags only, log and continue. Otherwise, error.
if v, ok := d.GetOk("tags"); (!ok || len(v.(map[string]interface{})) == 0) && verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] error adding tags after create for CloudWatch Metric Stream (%s): %s", d.Id(), err)
log.Printf("[WARN] failed adding tags after create for CloudWatch Metric Stream (%s): %s", d.Id(), err)
return resourceMetricStreamRead(ctx, d, meta)
}

if err != nil {
return diag.Errorf("error creating CloudWatch Metric Stream (%s) tags: %s", d.Id(), err)
return diag.Errorf("failed adding tags after create for CloudWatch Metric Stream (%s): %s", d.Id(), err)
}
}

Expand Down Expand Up @@ -228,12 +228,12 @@ func resourceMetricStreamRead(ctx context.Context, d *schema.ResourceData, meta

// Some partitions (i.e., ISO) may not support tagging, giving error
if verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] Unable to list tags for CloudWatch Metric Stream %s: %s", d.Id(), err)
log.Printf("[WARN] failed listing tags for CloudWatch Metric Stream (%s): %s", d.Id(), err)
return nil
}

if err != nil {
return diag.FromErr(fmt.Errorf("error listing tags for CloudWatch Metric Stream (%s): %w", d.Id(), err))
return diag.Errorf("failed listing tags for CloudWatch Metric Stream (%s): %s", d.Id(), err)
}

tags = tags.IgnoreAWS().IgnoreConfig(ignoreTagsConfig)
Expand Down
5 changes: 0 additions & 5 deletions internal/service/ecr/consts.go

This file was deleted.

26 changes: 13 additions & 13 deletions internal/service/ecr/repository.go
Expand Up @@ -137,15 +137,15 @@ func resourceRepositoryCreate(d *schema.ResourceData, meta interface{}) error {
out, err := conn.CreateRepository(&input)

// Some partitions (i.e., ISO) may not support tag-on-create
if input.Tags != nil && meta.(*conns.AWSClient).Partition != endpoints.AwsPartitionID && (tfawserr.ErrCodeContains(err, ErrCodeAccessDenied) || tfawserr.ErrCodeContains(err, ecr.ErrCodeInvalidParameterException) || tfawserr.ErrCodeContains(err, ecr.ErrCodeValidationException)) {
log.Printf("[WARN] ECR Repository (%s) create failed (%s) with tags. Trying create without tags.", d.Id(), err)
if input.Tags != nil && meta.(*conns.AWSClient).Partition != endpoints.AwsPartitionID && verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] failed creating ECR Repository (%s) with tags: %s. Trying create without tags.", d.Get("name").(string), err)
input.Tags = nil

out, err = conn.CreateRepository(&input)
}

if err != nil {
return fmt.Errorf("error creating ECR repository: %s", err)
return fmt.Errorf("failed creating ECR Repository (%s): %w", d.Get("name").(string), err)
}

repository := *out.Repository // nosemgrep: prefer-aws-go-sdk-pointer-conversion-assignment // false positive
Expand All @@ -159,13 +159,13 @@ func resourceRepositoryCreate(d *schema.ResourceData, meta interface{}) error {
err := UpdateTags(conn, aws.StringValue(repository.RepositoryArn), nil, tags)

// If default tags only, log and continue. Otherwise, error.
if v, ok := d.GetOk("tags"); (!ok || len(v.(map[string]interface{})) == 0) && (tfawserr.ErrCodeContains(err, ErrCodeAccessDenied) || tfawserr.ErrCodeContains(err, ecr.ErrCodeInvalidParameterException) || tfawserr.ErrCodeContains(err, ecr.ErrCodeValidationException)) {
log.Printf("[WARN] error adding tags after create for ECR Repository (%s): %s", d.Id(), err)
if v, ok := d.GetOk("tags"); (!ok || len(v.(map[string]interface{})) == 0) && verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] failed adding tags after create for ECR Repository (%s): %s", d.Id(), err)
return resourceRepositoryRead(d, meta)
}

if err != nil {
return fmt.Errorf("error creating ECR Repository (%s) tags: %w", d.Id(), err)
return fmt.Errorf("failed adding tags after create for ECR Repository (%s): %w", d.Id(), err)
}
}

Expand Down Expand Up @@ -237,13 +237,13 @@ func resourceRepositoryRead(d *schema.ResourceData, meta interface{}) error {
tags, err := ListTags(conn, arn)

// Some partitions (i.e., ISO) may not support tagging, giving error
if meta.(*conns.AWSClient).Partition != endpoints.AwsPartitionID && (tfawserr.ErrCodeContains(err, ErrCodeAccessDenied) || tfawserr.ErrCodeContains(err, ecr.ErrCodeInvalidParameterException) || tfawserr.ErrCodeContains(err, ecr.ErrCodeValidationException)) {
log.Printf("[WARN] Unable to list tags for ECR Repository %s: %s", d.Id(), err)
if meta.(*conns.AWSClient).Partition != endpoints.AwsPartitionID && verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] failed listing tags for ECR Repository (%s): %s", d.Id(), err)
return nil
}

if err != nil {
return fmt.Errorf("error listing tags for ECR Repository (%s): %w", arn, err)
return fmt.Errorf("failed listing tags for ECR Repository (%s): %w", d.Id(), err)
}

tags = tags.IgnoreAWS().IgnoreConfig(ignoreTagsConfig)
Expand Down Expand Up @@ -326,14 +326,14 @@ func resourceRepositoryUpdate(d *schema.ResourceData, meta interface{}) error {

err := UpdateTags(conn, arn, o, n)

if meta.(*conns.AWSClient).Partition != endpoints.AwsPartitionID && (tfawserr.ErrCodeContains(err, ErrCodeAccessDenied) || tfawserr.ErrCodeContains(err, ecr.ErrCodeInvalidParameterException) || tfawserr.ErrCodeContains(err, ecr.ErrCodeValidationException)) {
// Some partitions may not support tagging, giving error
log.Printf("[WARN] Unable to update tags for ECR Repository %s: %s", d.Id(), err)
// Some partitions may not support tagging, giving error
if meta.(*conns.AWSClient).Partition != endpoints.AwsPartitionID && verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] failed updating tags for ECR Repository (%s): %s", d.Id(), err)
return resourceRepositoryRead(d, meta)
}

if err != nil {
return fmt.Errorf("error updating ECR Repository (%s) tags: %w", d.Id(), err)
return fmt.Errorf("failed updating tags for ECR Repository (%s): %w", d.Id(), err)
}
}

Expand Down
8 changes: 5 additions & 3 deletions internal/service/ecr/repository_data_source.go
Expand Up @@ -11,6 +11,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"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"
)

func DataSourceRepository() *schema.Resource {
Expand Down Expand Up @@ -115,14 +116,15 @@ func dataSourceRepositoryRead(d *schema.ResourceData, meta interface{}) error {
tags, err := ListTags(conn, arn)

// Some partitions (i.e., ISO) may not support tagging, giving error
if meta.(*conns.AWSClient).Partition != endpoints.AwsPartitionID && (tfawserr.ErrCodeContains(err, ErrCodeAccessDenied) || tfawserr.ErrCodeContains(err, ecr.ErrCodeInvalidParameterException) || tfawserr.ErrCodeContains(err, ecr.ErrCodeValidationException)) {
log.Printf("[WARN] Unable to list tags for ECR Repository %s: %s", d.Id(), err)
if meta.(*conns.AWSClient).Partition != endpoints.AwsPartitionID && verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] failed listing tags for ECR Repository (%s): %s", d.Id(), err)
return nil
}

if err != nil {
return fmt.Errorf("error listing tags for ECR Repository (%s): %w", arn, err)
return fmt.Errorf("failed listing tags for ECR Repository (%s): %w", arn, err)
}

if err := d.Set("tags", tags.IgnoreAWS().IgnoreConfig(ignoreTagsConfig).Map()); err != nil {
return fmt.Errorf("error setting tags for ECR Repository (%s): %w", arn, err)
}
Expand Down
23 changes: 12 additions & 11 deletions internal/service/ecs/capacity_provider.go
Expand Up @@ -126,14 +126,15 @@ func resourceCapacityProviderCreate(d *schema.ResourceData, meta interface{}) er
output, err := conn.CreateCapacityProvider(&input)

// Some partitions (i.e., ISO) may not support tag-on-create
if input.Tags != nil && (tfawserr.ErrCodeContains(err, ecs.ErrCodeAccessDeniedException) || tfawserr.ErrCodeContains(err, ecs.ErrCodeInvalidParameterException) || tfawserr.ErrCodeContains(err, ecs.ErrCodeUnsupportedFeatureException)) {
log.Printf("[WARN] ECS Capacity Provider (%s) create failed (%s) with tags. Trying create without tags.", d.Id(), err)
if input.Tags != nil && verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] ECS tagging failed creating Capacity Provider (%s) with tags: %s. Trying create without tags.", name, err)
input.Tags = nil

output, err = conn.CreateCapacityProvider(&input)
}

if err != nil {
return fmt.Errorf("error creating ECS Capacity Provider (%s): %w", name, err)
return fmt.Errorf("failed creating ECS Capacity Provider (%s): %w", name, err)
}

d.SetId(aws.StringValue(output.CapacityProvider.CapacityProviderArn))
Expand All @@ -142,14 +143,14 @@ func resourceCapacityProviderCreate(d *schema.ResourceData, meta interface{}) er
if input.Tags == nil && len(tags) > 0 {
err := UpdateTags(conn, d.Id(), nil, tags)

if v, ok := d.GetOk("tags"); (!ok || len(v.(map[string]interface{})) == 0) && (tfawserr.ErrCodeContains(err, ecs.ErrCodeAccessDeniedException) || tfawserr.ErrCodeContains(err, ecs.ErrCodeInvalidParameterException) || tfawserr.ErrCodeContains(err, ecs.ErrCodeUnsupportedFeatureException)) {
if v, ok := d.GetOk("tags"); (!ok || len(v.(map[string]interface{})) == 0) && verify.CheckISOErrorTagsUnsupported(err) {
// If default tags only, log and continue. Otherwise, error.
log.Printf("[WARN] error adding tags after create for ECS Capacity Provider (%s): %s", d.Id(), err)
log.Printf("[WARN] ECS tagging failed adding tags after create for Capacity Provider (%s): %s", d.Id(), err)
return resourceCapacityProviderRead(d, meta)
}

if err != nil {
return fmt.Errorf("error creating ECS Capacity Provider (%s) tags: %w", name, err)
return fmt.Errorf("ECS tagging failed adding tags after create for Capacity Provider (%s): %w", d.Id(), err)
}
}

Expand Down Expand Up @@ -184,8 +185,8 @@ func resourceCapacityProviderRead(d *schema.ResourceData, meta interface{}) erro
tags := KeyValueTags(output.Tags).IgnoreAWS().IgnoreConfig(ignoreTagsConfig)

// Some partitions (i.e., ISO) may not support tagging, giving error
if tfawserr.ErrCodeContains(err, ecs.ErrCodeAccessDeniedException) || tfawserr.ErrCodeContains(err, ecs.ErrCodeInvalidParameterException) || tfawserr.ErrCodeContains(err, ecs.ErrCodeUnsupportedFeatureException) {
log.Printf("[WARN] Unable to list tags for ECS Capacity Provider %s: %s", d.Id(), err)
if verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] ECS tagging failed listing tags for Capacity Provider (%s): %s", d.Id(), err)
return nil
}

Expand Down Expand Up @@ -244,13 +245,13 @@ func resourceCapacityProviderUpdate(d *schema.ResourceData, meta interface{}) er
err := UpdateTags(conn, d.Id(), o, n)

// Some partitions (i.e., ISO) may not support tagging, giving error
if tfawserr.ErrCodeContains(err, ecs.ErrCodeAccessDeniedException) || tfawserr.ErrCodeContains(err, ecs.ErrCodeInvalidParameterException) || tfawserr.ErrCodeContains(err, ecs.ErrCodeUnsupportedFeatureException) {
log.Printf("[WARN] Unable to update tags for ECS Capacity Provider %s: %s", d.Id(), err)
if verify.CheckISOErrorTagsUnsupported(err) {
log.Printf("[WARN] ECS tagging failed updating tags for Capacity Provider (%s): %s", d.Id(), err)
return resourceCapacityProviderRead(d, meta)
}

if err != nil {
return fmt.Errorf("error updating ECS Capacity Provider (%s) tags: %w", d.Id(), err)
return fmt.Errorf("ECS tagging failed updating tags for Capacity Provider (%s): %w", d.Id(), err)
}
}

Expand Down